home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / kdatastream.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-09-10  |  1.1 KB  |  57 lines

  1. #ifndef __kdatastream__h
  2. #define __kdatastream__h
  3.  
  4. #include <qdatastream.h>
  5.  
  6. inline QDataStream & operator << (QDataStream & str, bool b)
  7. {
  8.   str << Q_INT8(b);
  9.   return str;
  10. }
  11.  
  12. inline QDataStream & operator >> (QDataStream & str, bool & b)
  13. {
  14.   Q_INT8 l;
  15.   str >> l;
  16.   b = bool(l);
  17.   return str;
  18. }
  19.  
  20. #if QT_VERSION < 0x030200 && !defined(Q_WS_WIN) && !defined(Q_WS_MAC)
  21. inline QDataStream & operator << (QDataStream & str, long long int ll)
  22. {
  23.   Q_UINT32 l1,l2;
  24.   l1 = ll & 0xffffffffLL;
  25.   l2 = ll >> 32;
  26.   str << l1 << l2;
  27.   return str;
  28. }
  29.  
  30. inline QDataStream & operator >> (QDataStream & str, long long int&ll)
  31. {
  32.   Q_UINT32 l1,l2;
  33.   str >> l1 >> l2;
  34.   ll = ((unsigned long long int)(l2) << 32) + (long long int) l1;
  35.   return str;
  36. }
  37.  
  38. inline QDataStream & operator << (QDataStream & str, unsigned long long int ll)
  39. {
  40.   Q_UINT32 l1,l2;
  41.   l1 = ll & 0xffffffffLL;
  42.   l2 = ll >> 32;
  43.   str << l1 << l2;
  44.   return str;
  45. }
  46.  
  47. inline QDataStream & operator >> (QDataStream & str, unsigned long long int &ll)
  48. {
  49.   Q_UINT32 l1,l2;
  50.   str >> l1 >> l2;
  51.   ll = ((unsigned long long int)(l2) << 32) + (unsigned long long int) l1;
  52.   return str;
  53. }
  54. #endif
  55.  
  56. #endif
  57.